package cn.shuibo.controller;


import cn.shuibo.annotation.Decrypt;
import cn.shuibo.annotation.Encrypt;
import cn.shuibo.entity.User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/***
 * 接口加密解密接口
 */
@RestController
@RequestMapping("/testEncryptOrDecrypt")
public class EncryptOrDecryptController {

     /***
      * 测试响应数据加密处理
      *
      * @author 飞龙
      * @date 2024年3月12日
      * @return 通过rsa结合base64加密后的值
      */
     @GetMapping("/testResponseEncrypt")
     @Encrypt
     public String testResponseInfoEncrypt() {
          return "hello word!";
     }

     /**
      * 测试请求体数据解密处理
      *
      * @param user 用户信息实体
      * @return 经过解密后的用户信息
      * @author 飞龙
      * @date 2024年3月12日
      */
     @PostMapping("/testRequestDecrypt")
     @Decrypt
     public String testRequestBodyDecrypt(@RequestBody User user) {
          System.out.println("解密后的用户信息为:" + user.toString());
          return user.toString();
     }
}
